// index.ts
import {createRouter, createWebHashHistory, RouteRecordRaw} from 'vue-router'

const admin = () => import("@layout/admin/index.vue")
const web = () => import("@layout/web/index.vue")

const test = () => import("@/views/test.vue")

// 2. 定义一些路由
// 每个路由都需要映射到一个组件。
const routes: Array<RouteRecordRaw> = [
    {
        path: '/',
        component: web,
        name: "webIndex",
        meta: {
            title: '首页',
        },
        children: [
            {
                path: '',
                name: 'home',
                meta: {
                    title: '首页',
                    icon: 'homepage',
                },
                component: test,
            },
        ],
    },
    {
        path: '/admin',
        name: "adminIndex",
        component: admin,
        meta: {
            title: '后端首页',
        },
        children: [
            {
                path: '',
                name: 'adminHome',
                meta: {
                    title: '首页',
                    icon: 'homepage',
                },
                component: test,
            },
        ],
    },
    {
        path: '/login',
        name: 'login',
        meta: {
            title: '登录',
            hidden: true,
        },
        component: test,
    },
]

// 3. 创建路由实例并传递 `routes` 配置
// 你可以在这里输入更多的配置，但我们在这里
const router = createRouter({
    // 4. 内部提供了 history 模式的实现。为了简单起见，我们在这里使用 hash 模式。
    history: createWebHashHistory(),
    routes: routes,
})

// 使用TS扩展
declare module 'vue-router' {
    interface RouteMeta {
        title: string;
        hidden?: boolean;
    }
}

// 导出router
export default router


